Systems and methods for sharing video with advertisements over a network

ABSTRACT

A user can create a video segment or employ an existing video segment, upload the segment to a server, indicate an advertisement to be associated with the video, and then send it to a recipient over a computer network. The user provides an indication that one or more particular video segments and advertisements are to be shared over the network. An identifier for the video segment is automatically created and the segment and the identifier are automatically uploaded to a host computer over the network such as the Internet. The video segment, the identifier (optionally with other identifying material such as an identity of the sender, and an advertisement selected by the sender can be stored at the direction of the host computer.

RELATED APPLICATIONS

This application is a continuation application claiming the benefit ofand priority to co-pending U.S. patent application Ser. No. 13/909,876,filed on Jun. 4, 2013, which is a continuation of U.S. patentapplication Ser. No. 09/631,583, filed Aug. 3, 2000, now U.S. Pat. No.8,464,302, which is a continuation-in-part of abandoned U.S. patentapplication Ser. No. 09/497,587, filed Feb. 3, 2000, which is based onand claims priority to expired U.S. Provisional Patent Application No.60/147,029, filed Aug. 3, 1999. The entireties of these applications areincorporated by reference herein.

FIELD OF THE INVENTION

This invention relates generally to the distribution of video segments.More particularly, the invention relates to sharing in streaming videoformat over a network a video to which an advertisement selected by thesender of the video has been attached.

BACKGROUND

A video can be sent over a computer network as a file attachment to anelectronic mail (e-mail) message. With this type of transmission, theentire video file must be transmitted and received before the receivercan view the video. For large files, the time required to complete suchtransmissions can be longer than the actual playing time of the video.Also, this type of transmission typically requires multiple computerprograms to perform all of the necessary functions, including an e-mailapplication program to send or receive the video in computer file form,and a second program to play or display the video from the received fileattachment. With this type of transmission, it is difficult to controlthe delivery time of the video, and it is difficult to share or forwardthe received video.

A video can be posted to a World Wide Web (“Web”) page. In order toprovide a video in this manner, a server computer connected to the Webmust be used to host the Web site, and software packages must exist andbe used to prepare the video, and transmit it over the Web using theFile Transfer Protocol (FTP or ftp) or the HyperText Transfer Protocol(HTTP or http). To implement this type of video posting, at least adetailed knowledge of various computer communication protocols isrequired.

SUMMARY OF THE INVENTION

It is an object of this invention to provide methods and systems forsharing video segments over a network, to which video segments a senderof a video segment can attach an advertisement of the sender's choosing.The video segment and associated advertisement can then be streamed overthe network, for example the Internet, to a receiving computer such thata person at the receiving computer can view the video segment and theassociated advertisement.

In accordance with the present invention, full motion video can beautomatically uploaded to a video server and can then be associated withan advertisement selected by the sender of the video. The video andassociated advertisement can be accessed by any number of viewers aftereach viewer has been provided with an identifier of the video. The videoidentifier can in general be an identification tag which identifieswhere and/or how the video can be accessed, for example a networkaddress, or a universal resource locator (“URL”). The video can also beidentified with an image that represents the content or subject matterof the video, so that the video can readily be identified when held in acollection of videos. Such identifiers as file names that are useful ina computer file processing, storage and retrieval system can furtheridentify the video.

In one aspect, the invention features a method of sending a videosegment and an associated advertisement over a computer network. Themethod includes (a) acquiring a video segment at a computer system, (b)acquiring one or more advertisements at the computer system, (c)offering to a sender an opportunity to indicate a selection of anadvertisement of the one or more advertisements to be associated withthe video segment, and (d) accepting from the sender the indication of aselection of the advertisement to be associated with the video segment,the video segment and the advertisement to be sent over the computernetwork. The method further includes, in response to the indicationaccepted in step (d), automatically at the computer system assuring thatthe video segment is in a streaming video format, creating an identifierfor the video segment, associating the video segment and theadvertisement, and sending the video segment, the identifier, and theassociated advertisement over the computer network to a receivingcomputer system.

In one embodiment, the step of offering to a sender an opportunity toindicate a selection of an advertisement of the one or moreadvertisements includes a criterion selectable by the sender. Thecriterion can be one of a subject of the advertisement, a length of theadvertisement, and a remuneration paid for selecting the advertisement.The criterion can include affirmatively leaving the selection to thedetermination of the server computer system.

In one embodiment, the step of offering to a sender an opportunity toindicate a selection of an advertisement of the one or moreadvertisements can include a default selection to be made if the senderfails to indicate a selection. The default selection can include asubstantially randomized selection of an advertisement.

In another aspect, the invention relates to a method of sending a videosegment and an associated advertisement over a computer network. Themethod includes (a) uploading a video segment from a sender computersystem to a server computer system, (b) selecting, using the sendercomputer system, an advertisement stored at the server computer system,and (c) transmitting from the sender computer an indication of an intentto send the video segment and the advertisement over the computernetwork, the indication causing the server computer system automaticallyto assure that the video segment is in a streaming video format, tocreate an identifier for the video segment, to associate the videosegment and the advertisement, and to send the video segment, theidentifier, and the associated advertisement over the computer networkto a receiving computer system.

In one embodiment, selecting an advertisement can include selecting anadvertisement using a criterion chosen by an operator of the sendercomputer system. The criterion can be one of a subject of theadvertisement, a length of the advertisement, and a remuneration paidfor selecting the advertisement. The criterion can include leaving theselection to the determination of the server computer system. Theselection can include a substantially randomized selection of anadvertisement. The selection can be based on a price paid by anadvertiser.

In one aspect the invention involves a system for sending a video and anassociated advertisement over a computer network. The system includes afirst computer system for connection to other computer systems over acomputer network. The first computer system includes a first moduleoperating on the first computer system for acquiring a video segment, asecond module operating on the first computer system for generating anidentifier associated with the video segment, a third module operatingon the first computer system for accepting an indication of intent tosend the video segment to another computer, a fourth module operating onthe first computer system for automatically sending the video segmentand the identifier over the computer network to a receiving computer,and a fifth module operating on the first computer system for acceptingfrom a sender an indication of an advertisement to be associated withthe video segment and for transmitting the indication to anothercomputer. The system also includes a second computer system comprisingstorage and for connection to other computer systems over the computernetwork. The second computer system includes a sixth module operating onthe second computer system for automatically receiving the video segmentand its associated identifier sent by the first computer system over thecomputer network, a seventh module operating on the second computersystem for storing an advertisement, an eighth module operating on thesecond computer system for associating the advertisement with the videosegment, a ninth module operating on the second computer system forstoring the video segment and associated identifier in the storage, atenth module operating on the second computer system for receiving anindication to associate the stored video segment and the advertisement,an eleventh module operating on the second computer system forautomatically assuring that the video segment is in a streaming videoformat, and a twelfth module operating on the second computer system forsending the video segment, the identifier, and the associatedadvertisement from the storage to a receiver computer system.

In one embodiment, the system further includes a thirteenth moduleoperating on the second computer system for determining a price to becharged for one or more of storing the advertisement, associating theadvertisement with the video segment, and sending the video segment, theidentifier, and the associated advertisement from the storage to thereceiver computer system. In one embodiment, the module can determinethe price based on a number of transmissions of the video and theassociated advertisement multiplied by a rate of charge pertransmission. The rate of charge can be based on one of a type of video,a length of the video, and a quality of the video. In anotherembodiment, the module can determine the price based on a fixed price.Alternatively, the module can determine the price based on a percentageof a sales amount incurred in response to the advertisement.

In one embodiment, the system further includes a module operating on thesecond computer system for obtaining from a user of the first computeran indication of which advertisement is to be associated with the videosent by the first computer. The module for obtaining an indication ofwhich advertisement is to be associated with the video can use acriterion for the association. The criterion can be one of a subject ofthe advertisement, a length of the advertisement, and a remunerationpaid for selecting the advertisement. In yet another embodiment, themodule for obtaining an indication of which advertisement is to beassociated with the video can use a criterion for the association thatincludes leaving the selection to the determination of the servercomputer. The selection can include a substantially randomized selectionof an advertisement.

In still another embodiment, the system further includes a fourteenthmodule operating on the second computer system for determining whetheran operator of the receiver computer system is present during thepresentation of the advertisement.

In a further embodiment, the system further includes a third computersystem for connection to other computer systems over a computer network,the third computer system including a fifteenth module operating on thethird computer system for determining whether an operator of thereceiver computer system is present during the presentation of theadvertisement. The fifteenth module for determining whether an operatorof the receiver computer system is present during the presentation ofthe advertisement can include a module that causes the display of theadvertisement to pause, and a module that senses if an action isperformed by the viewer of the advertisement. The module that senses ifan action is performed by the viewer of the advertisement can sense oneof a button activation, a switch activation, an activation of a pointingdevice, a response to a prompt, and a physical response of the viewer.The prompt can be in the form of a question. The physical response ofthe viewer can be one of a voluntary action and a physiologicalresponse.

In a still further embodiment, the system further includes a module thatdetermines what events will transpire in response to the action by theviewer. The module that determines what events will transpire inresponse to the action by the viewer can cause the commencement orresumption, as appropriate, of the display of one of the advertisementand the video segment; it can cause one of the advertisement and thevideo segment to terminate; and it can cause a predetermined response tooccur if the viewer fails to take action within a predefined timeinterval.

In yet another embodiment, the system further includes a module thatreports one of the action of the viewer and the time of the action tothe second computer.

In a still further embodiment, the system further includes a sixteenthmodule operating on the second computer system for determining a paymentto be made to one of a sender of an advertisement associated with avideo segment and a viewer of the advertisement.

The foregoing and other objects, aspects, features, and advantages ofthe invention will become more apparent from the following descriptionand from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects and features of the invention can be better understood withreference to the drawings described below. The drawings are notnecessarily to scale, emphasis instead generally being placed uponillustrating the principles of the invention.

FIG. 1A is a schematic embodiment of a process and system for obtaininga video segment, uploading the video segment to a server, and sendingthe video segment to a recipient, according to the invention.

FIG. 1B is a schematic diagram of a process and system for selecting andassociating an advertisement to the video which is obtained, uploaded,and sent to a recipient as in FIG. 1A, according to the invention.

FIG. 2 is an embodiment of a system according to the invention,including the interactions and interrelationships within the system.

FIG. 3A is a functional block and flow diagram of an embodiment of theinvention.

FIG. 3B is another functional block and flow diagram of an embodiment ofthe invention, showing from the sender's perspective the steps inassociating a video with an advertisement.

FIG. 3C is another functional block and flow diagram of an embodiment ofthe invention, showing from the host computer's perspective the steps inassociating a video with an advertisement.

FIG. 4 is a login screen on a user's computer, in one embodiment of theinvention.

FIG. 5 is a record/playback screen as seen by the user, in accordancewith an embodiment of the invention.

FIG. 6A is a flow diagram of an embodiment of the invention in whichsoftware automates a number of steps in connection with the uploading ofa video segment.

FIG. 6B is a flow diagram of another embodiment of the invention inwhich software automates a number of steps in connection with theuploading of a video segment.

FIG. 6C is a flow diagram of an embodiment of the invention in whichsoftware automates a number of steps in connection with the formattingof a video segment.

FIG. 6D shows the relationship of some of the files created in the flowdiagram of FIG. 6C.

FIG. 6E is a flow diagram of a method by which an optimally formattedvideo segment is sent to a user according to the invention.

FIG. 7 is a screen as seen by the user, the screen indicating that fileprocessing is occurring.

FIG. 8 is an interactive screen used to determine the desires of theindividual who sends a video for storage.

FIG. 9 is a video playback screen seen by the user.

FIG. 10 is a screen used by the user to control the status of a videoqueue.

FIG. 11 is a screen used by the user to control the operational settingsof equipment associated with the user's computer.

DESCRIPTION

Referring to FIG. 1, a user of the system, such as a private individualworking from home, or a professional working from a business, employs acomputer system 10. The computer system 10 can include a computer whichcan be a personal computer of conventional type such as a desktop orlaptop computer, a hand held device such as a PDA, or a more powerfulcomputer such as a workstation, a server, a minicomputer, a mainframe,or the like. The computer system 10 can operate software including a webbrowser such as Microsoft Internet Explorer or Netscape Navigator orCommunicator or the like, for communication over a network such as theInternet via the World Wide Web (hereinafter “the Web”), or to permitwireless communication. The computer system 10 can operate software thatcan manipulate video segment files. The computer system 10 cancommunicate with video sources, such a video cameras and video recordingmachines, if the user wishes to employ such sources. Conventionalcommercially available personal computers typically have sufficientcapability to meet these requirements. The computer system 10 can alsoemploy video segments generated digitally by the computer andappropriate software, or by another computer, if the user wishes toemploy such techniques. In one embodiment, the computer system 10operates a software package called VideoShare Producer 20, which will bedescribed and explained in more detail below.

The VideoShare Producer 20 is a software application package that theuser can download from the Web site www.VideoShare.com 50 or that theuser can obtain in other formats such as on a CD-ROM or bundled withother software or hardware. The VideoShare Producer 20 software can beoperated by the user under his control on his computer, in the computersystem 10, in order to provide the capability of recording, converting,and optionally, compressing video segments, creating one or moreidentifiers for a video segment, and transmitting a video segment withone or more of the identifiers to a host computer 60 operating under thecontrol of a host such as www.VideoShare.com 50 for storage at alocation under the control of the host computer 60. The host computer 60will be described further below.

An indicator from a user of a system and or method according to theinvention of an intent to send the video segment over the computernetwork is accepted and, in response to the indication, the videosegment is automatically sent as a machine-readable file together withits associated identifier over the computer network to a receivingcomputer, thereby allowing the sent video segment and its associatedidentifier to be stored at the direction of the receiving computer andthereafter streamed out over the network.

The computer in the computer system 10 of the user one can be connectedto one or more kinds of equipment for generating video segments, such asa video camera such as a Web cam 12 or another type of video camera suchas a professional quality video camera. The computer in the computersystem 10 of the user can be connected to one or more kinds of equipmentfor providing prerecorded video segments, such as a video recorder 14,or another computer that can create digital video segments through theuse of suitable software, such as for example digital video segmentsthat have been created for various commercial films, or the like. Oncethe user has obtained a video segment, and has manipulated it accordingto the procedures described below with regard to the operation of theVideoShare software package, or its equivalent, the video segment withone or more identifiers is transmitted to the host computer 60.

The host computer 60 includes one or more server computers 62, 62′, 62″that communicate via a network such as the Web with other computers,such as the computer in the user's computer system 10. The one or moreserver computers 62, 62′, 62″ also communicate with a storage array 64,or optionally with a plurality of storage arrays substantially similarto storage array 64. The storage array 64 can be any convenient storagesystem, such as a redundant array of magnetic storage disks, one or morereadable and writeable CD-ROMs, random access semiconductor memory, anycombination of such storage devices, or the like. In one embodiment, thehost computer 60 operates the www.VideoShare.com 50 Web site, andprovides a video hosting service to one or more users. The host computer60 can connect via the Web and the web site www.VideoShare.com 50 to oneor more computers that comprise the Web, conceptually denoted by the box70, which, while not a part of the www.VideoShare.com 50 Web site,appears to be transparent to users of the www.VideoShare.com 50 Website, as well as to viewers of video segments that are being hosted bythe host computer 60.

Viewers, or individuals who desire, or are invited, to view videosegments hosted on the host computer 60, can access video segmentshosted on the host computer 60. As will be described in more detailbelow, in one embodiment, video segments can be hosted on host computer60 in areas that are open to the public, or can be hosted in other areasthat are open only to viewers who have the appropriate permission orauthorization to view a specific video segment. A hosted video segmentthat is stored and controlled by the host computer 60 may be deliveredto and displayed for a viewer in a variety of formats, and through avariety of methods, as denoted generally by the box 80. In differentembodiments, a video segment can be displayed as: a video greeting card81, such as a person wishing another a happy birthday; as video email82, as video that can be viewed on a remote website 83 (e.g., a videosegment embedded into the remote website so that a viewer who visits theremote website sees the video segment as part of the page that ispresented); as video commerce 84, for example a video that depicts aperson describing his or her experience and training as part of a resumesubmitted on-line; or as a video advertisement 85, for example a videodepicting the benefits or showing the use of a product. Many other likeapplications of the technology can be envisioned. In variousembodiments, the video segment can be made available to the viewer as astreaming video that is sent to the viewer, or may be made available bysending the viewer a message such as an email that contains an addressof a location to visit on the Web (e.g., a Universal Resource Locator,or URL), or may be made available by sending the viewer a message thatcontains an embedded link to a URL, for example by sending an e-mailcontaining the link or by sending a still image that may have someinterest to a viewer (e.g., sending a grandmother a still image of hergrandchildren) to which a link is attached (e.g., the still image islinked to a streaming video of the grandchildren that is delivered andthat plays when the still image is clicked). In the latter two methodsof making a video segment available, or in like methods, the viewer musttake some action, such as employing the URL or activating the link. Insome embodiments, the viewer can use a hand held device such as a PDA ora cellular telephone that can connect to a network such as the Internetto view the video segment.

FIG. 1B is a schematic diagram that shows a process and system forselecting and associating an advertisement to the video which isobtained, uploaded, and sent to a recipient as in FIG. 1A. In FIG. 1B,an exemplary advertiser 30 submits an advertisement to an advertisementdatabase 63 which is part of the VideoShare host computer 60 of FIG. 1A,and which is accessible by the host computer 60. The advertisement canbe a video clip, a still image, or an audio file, or it can be acombination of two or more of these formats. The advertisement isrecorded in the advertisement database 63, which is a machine-readablemedium. The submission of the advertisement by the advertiser 30 isdepicted by the arrow 32. There can be a plurality of advertisers 30 andeach advertiser 30 can submit one or more advertisements for posting inadvertisement database 63.

According to the principles of the present invention, when exemplaryuser (or sender of a video) 40 uploads a video, using the user'scomputer 10 (which can also be referred to as sender computer 10), tothe host computer 60, the host computer 60, using software that operateson the host computer 60, offers the sender 40 an opportunity to indicatea selection of an advertisement of the one or more advertisements postedto advertisement database 63 to be associated with the video segmentthat sender 40 has uploaded to the host computer 60. The sender 40 canbe shown all or part of one or more advertisements, which can becategorized by type (e.g., areas of interest such as consumer goods,travel, entertainment, household goods, financial products, businessservices, hobbies, recreation, and the like), which can be categorizedby duration, and which can be categorized by an amount the advertiser iswilling to pay a sender and/or a viewer. The advertisements can also becategorized in many other ways. In an alternative embodiment, the sender40 can specify types of ads that he or she wants shown. In yet anotherembodiment, the host computer 60 (or the entity that controls it) canselect which advertisement will preferentially be offered to the sender40 as part of the group of advertisements that are available.

Bidirectional arrow 34 denotes a process in which the host computer 60offers the opportunity to the sender 40 to experience variousadvertisements, using sender computer 10 and software that is presentand operating on sender computer 10, and the sender 40 can respond,using sender computer 10 and its associated software, to the hostcomputer 60 by selecting one or more advertisements for association withthe video that the sender 40 has uploaded to host computer 60. Thesender 40 can transmit from the sender computer 10 an indication of anintent to send the video segment and the advertisement over the computernetwork to a recipient 92.

In response to receiving the indication, the host computer 60 and itsassociated server computer system 62, 62′ automatically perform a seriesof actions. The actions include assuring that the video segment is in astreaming video format, creating an identifier for the video segment,associating the video segment and the advertisement, and sending thevideo segment, the identifier, and the associated advertisement over thecomputer network to a receiving computer system, such as computer 90 ofFIG. 2, where the recipient 92 can view the video segment and theassociated advertisement. The video segment, with or without anassociated advertisement, can also be referred to as a video message.The process of sending the video message to the recipient 92 isschematically denoted by the arrow 36 from the sender 40 to therecipient 92. The entire process will be described in further detailbelow.

In FIG. 2, the exemplary advertiser 30 sends an advertisement to thehost computer 60, which includes servers 62, 62′, advertisement database63, and storage 64, from a computer 75 that is connected to hostcomputer 60 by a computer network, as depicted by arrow 32. It is alsopossible for an advertiser to transmit an advertisement recorded inmachine-readable form on any convenient machine-readable storage medium.

A machine-readable medium can be used to record any information that canbe presented in digital format, including computer code, text, images,sounds and the like. The information can include advertisements, videos,audio information or the like, or it can include computer instructions,data, or other matter useful in operating digital equipment. Theinformation is typically recorded on the machine-readable medium as oneor more symbols in a file. The machine-readable medium can be, forexample, a computer floppy disk, a computer hard drive, a magnetic tapeor the like, a CD-ROM, computer memory such as static or dynamic RAM,ROM, PROM, EPROM or the like, and/or any other mechanism or medium forstoring machine-readable files, instructions, data or software. In anetwork, the machine-readable medium can be physically attached to acomputer different from one on which the data may be used, or thesoftware may operate. For example, in a network, an archival copy ofsoftware can reside on one computer and a copy can be copied to anothercomputer, where the copy is executed or otherwise used. If transfer timeis not an issue, as when a viewer of a video puts off viewing to a latertime, a file containing data or information (such as a video, a textfile, a database file, a spreadsheet template or the like) may reside onthe same computer as the one that received the file, or on a differentcomputer that stores the file for the convenience of the viewer. Theseare only some examples of commonly available machine-readable media, andit will be apparent to those of ordinary skill in the computer arts,that many other kinds of machine-readable media can be used with equaleffect.

The advertisement that the advertiser 30 sends to the advertiserdatabase 63 from the advertiser computer 75 can be created in any mannerthat can be used for making advertisements, for example, by having aprofessional advertisement agency oversee the making of one or moreadvertisements. The exact manner in which the advertisement isperipheral to the invention, but there are mechanisms by which one ormore advertisements from one or more advertisers 30 come to be posted onthe advertisement database 63. An advertiser can be charged a fee forposting and/or storing an advertisement, for associating theadvertisement with the video segment, and for sending the video segment,the identifier, and the associated advertisement from the host computer60 and its components to the receiver computer system 90 of a viewer 92.

Many different approaches to determining a price that an advertiser willbe charged are possible. Advertisers can be charged a premium price toget preferential placement on an advertisement selection page of thehost computer 60. Prices for such preferential placement can bedetermined by an auction mechanism. Alternatively, the operator of thehost computer 60 can attempt to match prices advertisers 30 are willingto pay for advertising with the remuneration that senders 40 and viewers90 are prepared to accept.

Similarly, there are many ways that senders 40 and viewers 92 ofadvertisements may be induced to participate. Examples of possibleschemes to remunerate senders 40 and viewers 92 can include paying asender 40 a set price based on the number of times an advertisement isviewed, paying a sender 40 based on a scale that increases with volumeof ad views, and paying a viewer 92 for viewing an advertisement. Thepayment can take the form of money, in-kind payments (e.g., freeservices), and other incentives, including special promotions based onthe number of advertisements sent or viewed.

In FIG. 2, the computer 16 of the user's computer system 10 is shown.The box 18 is intended to schematically depict a user of a computervideo input device, which device can be the computer 16 operatingsuitable software to generate digital video, or can be another suchcomputer, or can be the web cam or video camera 12, or can be the videorecording device 14, or the like. The video input device can be a Webcamera, a personal computer, a laptop computer, a personal digitalassistant or PDA, a video cassette recorder or VCR, a video camera, amovie camera, a video game console or any device that can be configuredto upload video segments and images to the video server. The user beginsby producing and or recording a video segment on the hard disk of thecomputer 16 or within the temporary memory of a handheld device. As asecond step, the video segment of step 1 can optionally be compressedand/or can be changed as regards the computer file format in which it isrecorded on the hard disk. This is depicted by arrows 11 and 13, betweenthe steps of Produce/Record Video on the Hard Disk, and PossibleCompression/Format Change to the Video.

As a third step, the video segment recorded on the hard drive of thecomputer 16 is transmitted with one or more identifiers to the hostcomputer 60 that includes the VideoShare servers 62, 62′ and the storagearray 64. The video segment is stored under the control of the hostcomputer 60, which can generate an identification tag that the hostcomputer 60 can use to locate the stored video segment for retrieval andfor viewing. A video segment can be uploaded to the video server over anetwork such as the Internet or by the use of wireless communication, orby a combination of both. The video server can include local or remotestorage for storing the uploaded video images. A video segment can beaccessed from the video server over a network such as the Internet or bythe use of wireless communication, or by a combination of both.

In different embodiments, the identification tag can be provided to auser in the form of a URL, or can be embedded into a Web page on aremote site, or can be linked to a message. In one embodiment themessage can be a still image that can be selected from the videosegment. The third step is schematically depicted by the arrow 34 apointing generally from the computer 16 to the VideoShare servers 62,62′.

A fourth step involves offering the sender 40 the opportunity toassociate an advertisement with the uploaded video, as described before.This is represented by the arrows 34 a and 34 b, in a manner similar tothat of FIG. 1B.

As a fifth step, the user who stored the video can send a message to anintended viewer, so that the viewer can access and view the videosegment. The fifth step is schematically depicted by the arrow 17pointing generally from the computer 16 to the computer 90 of theviewer. The box 92 is intended to schematically depict a user of adisplay device. In one embodiment, the display device can be thecomputer 90, or the display device can be a display device such as a WebTV, or can be a video output device such as a television set with asuitable decoder, or the like. The video output device can be any devicethat can be configured to allow a user to access and view the videosegments and images including but not limited to a television, acomputer, a PDA, a video camera, or a video game console. The displaydevice can also be a wireless hand held device such as a PDA or acellular telephone or the like.

In a fifth step, the viewer activates the viewing of the video segment.The viewer's action is indicated schematically by the arrow 19 pointinggenerally from the computer 90 to the server computer 62, 62′. In oneembodiment the viewer activates a link by clicking a button, and theserver computer 62, 62′ responds by sending a streaming video segmentthat the viewer observe. The streaming video segment can in oneembodiment be delivered as part of a video greeting card 81. In analternative embodiment, the video can be delivered as a streaming videodirectly to the viewer from the host computer 60, without the viewerhaving to activate the host computer 60. The viewer 92 can, in differentembodiments, take certain actions, as will be described below, inresponse to the video, it associated identifier, and the associatedadvertisement being send to the viewer 92. These actions will beaddressed in more detail below.

As shown in FIG. 3A, the user can obtain a copy of the VideoShareProducer 20 software by downloading a copy of the software from theWebsite www.VideoShare.com 50, as indicated by the picture at numeral 1.The term VideoShare Producer 20 software as used herein is intended toinclude the software that is required to interact with the host computer60 to effectuate the necessary actions associated with dealing withadvertisements. Alternatively, the user can obtain a copy of theVideoShare Producer 20 software on machine readable media such as aCD-ROM or the like. The VideoShare Producer 20 software can be bundledwith one or more utility or application programs that are useful for auser to have, such as a “container” application so that the VideoShareProducer 20 software can be operated on a desktop computer. The user caninstall the VideoShare Producer 20 software on his or her computer 16and can register with the VideoShare.com hosting service at no charge.In registering for the VideoShare service, the user obtains a usernameand a password that can be used to identify the user. The activity ofinstalling the VideoShare Producer 20 software on the user's personalcomputer or the like and registering with the VideoShare system isindicated by the picture at the numeral 2.

In order to use the system, the user first obtains a video segment. Theuser can create the video segment, for example with a Web cam 12, or theuser can use an existing video segment obtained from a video recorder16, as indicated by the picture at the numeral 3. The VideoShareProducer 20 software has direct capture capabilities that permit theuser to create the video segment.

The user can employ the VideoShare Producer 20 software to optionallycompress the video; to determine if a video segment is in a format thatis compatible with streaming video; to convert the video to a fileformat that is compatible with streaming video if the video segment isnot already in a file format that is compatible with streaming video;and to transmit the video segment together with one or more identifiersthat represent selections that the user can make (for example, a stillimage selected from the series of images that comprise the videosegment, an identifier of the sender of the video segment (e.g., theuser), an access privilege associated with the video segment,information indicative of a time period during which the video segmentwill be accessible, and information indicative of a number of instancesthat the video segment may be accessed). The identifier is associatedwith the video segment. The activities carried out in conjunction withthe VideoShare Producer 20 software are generally indicated by thegraphic at numeral 4.

The video segment and the identifier(s) are transmitted to the hostcomputer 60 for storage and for later distribution. In one embodiment,the video segment is transmitted in a streaming video file format. Thistransmission activity is denoted by the graphic at numeral 5.

The video segment is stored under the control of the host computer 60,which can include one or more server computers 62 and storage array 64.The activity of receiving the video segment at the host computer 60 andstoring the video segment and its identifier(s) is denoted by thepictures at numeral 6.

Depending on the choice of the user as to access privileges, the videosegment can be stored as a publicly available video in a location instorage array 64 that has no restrictions on access, or it can be storedin a portion of storage array 64 that requires some form ofauthorization to enable access, such as in a private email account area.The storage of the video segment as a public or private video segment isdenoted by the pictures at numeral 7.

Upon request from a viewer who has the proper authorization, or upon anyrequest in the case of a video segment available publicly, the hostcomputer 60 sends the video in streaming video format to a viewer, whocan observe the video in real time using a conventional web browserwithout additional plug-in modules. The activity of serving the videosegment as a streaming video is denoted by the graphic at numeral 8.

Additional features of the software, that specifically deal with theinteractions the sender 40 carries out with the host computer 60 will bediscussed in FIG. 3B and FIG. 3C.

FIG. 3B is another functional block and flow diagram of an embodiment ofthe invention, showing from the sender's perspective the steps inassociating a video with an advertisement. At step 665(a), the sender 40uses sender computer 10 to upload a video to host computer 60. At step665(b), the sender 40 receives from host computer 60 an opportunity toselect an advertisement from among those recorded or posted inadvertisement database 63. At step 665(c), the sender 40 uses sendercomputer 10 to select one or more advertisements stored at the hostcomputer 60, to be associated with the uploaded video. At step 665(d),the sender 40 uses sender computer 10 to indicate the user's selectionto host computer 60. At step 665(e), the host computer 60 sends a video,its identifier, and one or more advertisements to a recipient 92 usingreceiver computer 90, based on indicated intention of sender 40.

FIG. 3C is another functional block and flow diagram of an embodiment ofthe invention, showing from the host computer's perspective the steps inassociating a video with an advertisement. In step 665(a)′, the hostcomputer 60 receives a video upload from the sender 40 using sendercomputer 10. In step 665(b)′, the host computer 60 offers the sender 40an opportunity to select an advertisement via sender computer 10. Instep 665(c)′, the host computer 60 receives an indication from thesender 40 using sender computer 10 of the selection of one or moreadvertisements, to be associated with the uploaded video. In step665(d)′, the host computer 60 receives an indication from the sender 40using sender computer 10 to send a video, its identifier, and one ormore advertisements to recipient 92. Optionally, step 665(d)′ can beincluded in step 665(c)′ by inference, or it can be explicitlyperformed. At step 665(e), the host computer 60 sends a video, itsidentifier, and one or more advertisements to a recipient 92 usingreceiver computer 90, based on indicated intention of sender 40.

FIG. 3B and FIG. 3C are identified as step 665 generally. Step 665appears in each of FIG. 6A, FIG. 6B and FIG. 6C, where the one step isidentified as “Select and associate advertisement.” It is intended thatFIG. 3B or FIG. 3C be referred to, as appropriate, in understanding thatstep 665 is in reality a series of substeps that involve both the sender40 using his or her sender computer 10 and the host computer 60, bothcomputers using software that is designed to support the necessarysignaling and communication between the two computers. As those who arefamiliar with software will recognize, the software can equally well bereplaced with firmware (e.g., software code committed to a memory suchas a ROM or PROM or the like) or to hardware (e.g., circuitry designedto transmit and to accept signals that perform substantially the samefunctionality as the software). It is possible to use software, firmwareand hardware in combination, or in substitution one for the other, tocarry out such signaling and communication tasks. It is possible toprogram software using one or more different programming languages, withsubstantially the same effect.

The majority of the VideoShare Producer 20 software was developed as aWindows 95, Windows 98, and Windows 2000 (“Windows 9x/2000”) compatibleActiveX control (e.g. an .OCX file), with additional components existingas active template library (ATL) component object model (COM) componentsthat are instantiated during runtime. A “container application,” named“VideoProducer.exe,” allows the VideoShare Producer ActiveX Control tobe executed from the Windows 9x/2000 desktop. The VideoShare ProducerActive X Control can also be embedded into a web page, as is done withinthe www.VideoShare.com 50 web site.

The custom written VideoShare Producer 20 software includes thefollowing binary/source code components: (1) VideoShare Producer ActiveXControl (VideoProducer.ocx); (2) JPEG ATL COM component (jpeg.dll); (3)Thumbnail Acquisition DirectShow (ThumbnailFilter.ax); (4) Extended MAPIinterface (MapiExAPI.dll); (5) ICQ interface (icqglue.dll); AND (6)VideoShare Upload/Database Server (vpserver.exe).

All components, except for significant portions of the JPEG componentthat uses public domain source code, were entirely written by VideoShareInc. The VideoShare Upload/Data Server constantly runs at the VideoShareHosting Facility, an embodiment of the host computer 60, with which aninstalled instance of the VideoShare Producer 20 software on a user'scomputer 16 can be in constant communication. The VideoShare Producer 20software client/server structure allows the user to upload videos to hisor her account through the “Save and Share” button that is describedlater.

The VideoShare Producer 20 software is built upon the followingthird-party technologies that provide lower-level device support,document sharing, and file format conversion: (1) Microsoft'sDirectShow; (2) Microsoft's Windows Media Technologies; (3) Microsoft'sVideo for Windows; (4) MAPI; AND (5) ICQ.

When the user launches the VideoShare Producer 20 software, he or shewill see the window depicted in FIG. 4 appear on his or her computer 16operating the Win9x/2000 operating system. The login screen can be madeoptional for repeat users by providing a unique identifier for the user,such as a password, or by installing on the user's computer or the likea record similar to the “cookies” used by some interactive computersystems operating on a network such as the Internet.

When the user enters in his or her username in the box 410 labeledVideoShare Login Name and his or her password in the box 415 labeledVideoShare Password and activates the “Start VideoShare Producer” button420, the VideoShare Producer 20 software opens a TCP/IP socketconnection to the VideoShare Upload/Database Server via port 80 in orderto avoid typical Firewall and/or Proxy Server problems. If the box 430labeled Remember password is checked, the VideoShare Producer 20software will remember the user's password, eliminating the necessity totype in that information each time the software is started. TheVideoShare Upload/Database Server then verifies the validity of theusername/password. Furthermore, the VideoShare Producer 20 software willnotify the user if there is a more recent version of the softwareavailable, giving him or her the opportunity to automatically downloadand install the new software.

Also at this point, the user can choose to work offline by checking box440 “Work offline”, which suspends communications to the VideoShareUpload/Database Server until the user has filled his or her “SharingQueue” as described later. The ability to work offline is principally ofuse for people with computers that do not have a continuously openInternet connection, e.g. computers that use telephone modems ratherthan high speed connections or equipment such as cellular telephones orhand held devices that require the user to dial in to establish aconnection. With this login dialog, the user can also receive help, byactivating the “Help” button 450, taking the user to a web page on theVideoShare web site. The login dialog box can also be used to create anew VideoShare user account, by clicking the “Create Another Account”button 460.

Once the login process has been completed, the VideoShare Producer 20software looks for available DirectShow audio and video capture devices.These available devices are enumerated and listed within the “SettingsTab” as described later. The VideoShare Producer 20 software initializesthe audio and video capture device, by recalling as a default the devicethat was used most recently.

VideoShare Producer Preview/Capture/Import Process

After the capture device initialization, the VideoShare Producer 20software displays the window depicted in FIG. 5.

The image 510 in the middle of the window is the video input stream fromthe initialized, default video capture source. The image in FIG. 5 isthat of an employee of the assignee of the present invention, in theoffices of the assignee. The VideoShare Producer 20 softwareautomatically builds a DirectShow “preview graph” where the video streamfrom the video device is displayed on the screen, but is not saved todisk. This gives the user the opportunity to adjust the camera, e.g. anopportunity to correct the camera position, the camera focus, the cameraangle, the magnification of the image, and the like.

At the top of this window, the user is presented with five different“tabs”, each presenting the user with different aspects of theVideoShare Producer 20 software. In FIG. 5, the tab labeled“Record/Playback” 520 is active, indicating that the VideoShare Producer20 software is ready to acquire and/or display a video segment.

At the bottom of the window, there is a status message 522 that displaysthe current operation of the VideoShare Producer 20 software. In FIG. 5,the status message 522 prompts the user to either activate the Recordbutton 531 to create a new video segment, or to import an existing videosegment by activating the Import Video button 535, both of which aredescribed in more detail below.

Directly below the video preview image 510 is a Capture/Playback ControlPanel 530 that includes the following items:

-   -   Record button 531 which begins a new audio/video capture;    -   Stop button 532 which terminates an active audio/video capture        operation;    -   Play button 533 which initiates the playing back of the last        recorded or imported video;    -   Delete button 534 which cancels the last record or import        operation and begins a new video preview;    -   Import Video button 535 which allows the user to select a        pre-existing video file from his or her hard drive;    -   Save and Share button 536, which in the present embodiment        activates software modules that convert the current video file        into a compressed streaming format, upload that converted file        to the VideoShare web site, and give the user options to        distribute that video to other people; and    -   Shuttle Bar 537 which is used to control the current position of        the playback file together with forward button 537 and reverse        button 538, allowing the user to rewind and fast forward through        the current video.

The software modules that operate upon the activation of Save and Sharebutton 536 will be covered in a subsequent section in this document indetail.

When the user begins to record a video, the VideoShare Producer 20software builds a new “Capture Graph” that renders the video stream toboth the display window as well as to a temporary AVI file on the user'shard drive. The audio/video capturing continues until the user activatesthe “Stop” button 532 at which point the VideoShare Producer 20 softwarestops the “Capture Graph”, destroys the DirectShow filter, builds aDirect Show “Playback Graph”, and displays the first frame of thecaptured video as video preview image 510. When the user activates thePlay button 533 the DirectShow “Playback Graph” is put into runningmode, playing back the entire recorded video from beginning to end.

The user can also choose to import a pre-existing video, which in oneembodiment can be a file format selected from the AVI, MPEG, orQuickTime file formats, by activating the Import Video button 535. TheVideoShare Producer 20 software automatically renders the correctDirectShow filter to display an imported video correctly.

Save and Share Process

Once a video segment has been recorded or imported into the user'scomputer 16 that is running the VideoShare Producer 20 software, theuser can choose to process the video segment with various optionalalternatives by activating the Save and Share button 536. When the Saveand Share button 536 is activated, the video segment is archived anddistributed automatically. The VideoShare Producer 20 software greatlysimplifies the entire process by seamlessly automating the followingsteps that are depicted in FIG. 6A:

-   -   Video file format conversion, as required;    -   Compression to a streaming multimedia format at a user-specified        bitrate;    -   Creating a “Thumbnail” JPEG snapshot of the video file, as an        identifier that a user or a viewer can observe in order to        assess the content of the video segment;    -   Transferring the resultant video and thumbnail files to the        VideoShare server computers 62, 62′;    -   Logging the transactions and managing the user's storage        account, including causing the generation of an identification        tag that the server computers 62, 62′ can employ to retrieve the        video segment for viewing; and    -   Automating several possible methods of distributing the video to        third party recipients, e.g., viewers.

In addition, the user (or sender of the video) is given the opportunityto select an advertisement from one or more advertisements that havebeen posted on the VideoShare host computer 60 by advertisers who payfor such advertisements. The user or sender can decide, based on thesender's knowledge or opinion about the recipient of the video that thesender is sending, what kind of advertisement is appropriate, the sendercan select the advertisement based on one or more criteria. For example,the sender may know an interest of the recipient and can use a criterionbased on the recipient's interests, such as the type of product orservice that the recipient may be interested in. The sender may know howwilling the recipient is to watch an advertisement, and can select anadvertisement based on the criterion of how long the advertisement is.The sender can select an advertisement based on a criterion of how muchthe advertiser is willing to pay the sender to attach the advertiser'sadvertisement rather than another advertisement. The sender may not havea preference, and can make a selection that leaves the choice of anadvertisement up to the VideoShare host computer 60. The VideoShare hostcomputer 60 can select an advertisement on the basis of a randomselection from all the advertisements available, or can make theselection based on other criteria, such as the price paid by theadvertiser, an agreed frequency of presentation of an advertisement, orother criteria.

FIG. 6A shows a flow diagram 600 of an embodiment of the invention inwhich the VideoShare Producer 20 software automates a number of steps inconnection with uploading a video segment by activation of the Save andShare button 536 described in FIG. 5. As indicated at box 605, a userfirst obtains and selects a video segment for processing fordistribution. The box 605 schematically encapsulates all of the actionsthat a user takes as described in relation to FIGS. 4 and 5 above. Whenthe user activates the Save and Share button 536 the actions describedbelow that are enclosed by the dotted line 607 are automatically carriedout under the control of the VideoShare Producer 20 software.

The VideoShare Producer 20 software subjects the selected video segmentto analysis to determine whether the selected video segment is or is notin a file format that is compatible with a streaming video format, asindicated at diamond 610. Formats that are compatible with streamingmedia formats include formats such as MPEGs and QuickTime videos. If theselected video segment is not compatible with a streaming video format,it is converted to a compatible format, as depicted by the arrow labeled“NO” that points from the diamond 610 to the box 615, “Convert tocompatible file format.” The conversion process performed by theVideoShare Producer 20 software creates a DirectShow filter graph thatdecompresses the video file into a temporary, uncompressed AVI file.

The video segment file in a format that is compatible with streamingvideo is then temporarily stored in the user's computer 16, for exampleas a file on the hard drive of computer 16. This storing step isperformed if the file was originally in a format compatible withstreaming video by following the arrow marked “YES” that points from thediamond 610 to the box 620, “Temporarily store file.” Alternatively, thestoring step is performed if the file was originally not in a formatcompatible with streaming video by following the arrow that points fromthe box 615 to the box 620.

The apparatus and method of the invention can include compressiontechniques to manage large video segments and image files. Videosegments and image files can be compressed by the video sender beforebeing uploaded to the server or can be compressed by the server itself.Compression can be used to improve the efficiency of transmission and toimprove the use of storage.

The stored temporary file representing the selected video is thenanalyzed by the VideoShare Producer 20 software, as represented bydiamond 625, “Should file be compressed?” to determine if thetemporarily stored file should be compressed. If the software determinesthat the file should be compressed, as indicated by the arrow labeled“YES” that points from the diamond 625 to the box 630, labeled “Compressfile,” the file is compressed. The compression involves compressing thevideo file to a user-specified bitrate, or the bandwidth that isrequired to view the video without disruption in the transmission. Theuser can select the desired bitrate via the “Settings Tab” that isdescribed in more detail below. The file is then converted to astreaming multimedia format file as indicated by the box 635, labeled“Convert file to streaming multimedia format (“SMF”) file,” as denotedby the arrow pointing from the box 630 to the box 635. If the file isnot to be compressed, the flow follows the arrow labeled “NO” pointingfrom the diamond 625 to the box 635, and the file is then converted to astreaming multimedia format file as schematically represented by the box635.

The process that is performed by the VideoShare Producer 20 software asdenoted by the box 635 involves reading in the video file, frame byframe, and converting the video into a streaming multimedia format. Inone embodiment, the VideoShare Producer 20 software uses the WindowsMedia Streaming Format, known as ASF or WMF, but it is nottechnologically restricted to this choice. The Windows Media StreamingFormat comprises MPEG 4 v3 for the video stream and the Windows MediaAudio format for the audio stream. The output of this file is stored asa temporary file on the user's hard drive, in one embodiment.

The flow diagram indicates that the process makes a “thumbnail” of thevideo file, as represented schematically by the box 640, labeled “Createand temporarily store JPEG “thumbnail” identifier.” The VideoShareProducer 20 software produces a JPEG still image that is used as areference image to the entire video file. It is an identifier of thesubject matter or content of the video that a user or a viewer canreadily recognize, as compared to an alphanumeric string such as atypical string used to identify a file by its drive, directory (and oneor more subdirectories) and filename. Such alphanumeric identifiers areuseful, but may be totally uninformative as to the content or subjectmatter contained in the identified file or video segment. In oneembodiment, the VideoShare Producer 20 software creates the “thumbnail”by taking the “middle” image of the entire video file, as measured bythe temporal duration of the file. In another embodiment, the selectionof an image from which to make the “thumbnail” can be left to thediscretion of the user. This JPEG file is also stored as a temporaryfile on the user's hard drive, in one embodiment.

The next part of the process is the upload operation, in which theVideoShare Producer 20 software contacts the host computer 60, which inone embodiment is the VideoShare Upload/Database Server at theVideoShare hosting facility. This portion of the automated process isdenoted by the box 645 labeled “Transfer (“upload”) temporarily storedSMF file and JPEG thumbnail identifier to host computer 60.” TheVideoShare Producer 20 software notifies the host computer 60 that theuser wishes to place his or her video into a repository maintained bythe host computer 60, which in one embodiment can be the VideoShareVideoCenter, which is a repository of all recorded and uploaded videosto date. This upload is performed automatically via a direct TCP/IPsocket connection over a specific connection port of the user's computerknown as port 80. The VideoShare Producer 20 software uses a standardcommunications protocol to perform this transfer to the host computer60. In another embodiment, a proprietary protocol can be used, forexample if one wants to maintain the security of information containedin the video segment. In another embodiment, the video segment can beencrypted in order to provide enhanced security. Both the compressedvideo streaming multimedia file and the thumbnail image are uploaded atsubstantially the same time.

As schematically depicted by box 650, labeled “Delete temporary file toconserve storage space on user's computer,” the VideoShare Producer 20software removes all of the temporary files that were created in thecourse of the automated processing described above. This featureprovides for the user a convenient, secure, and transparent process,with the benefit that the user's computer storage device(s), for exampleone or more hard drives, do not become cluttered with unnecessary andobsolete files.

Once the upload has been completed, the VideoShare Producer 20 softwareand the host computer 60 (for example, the VideoShare Upload/DatabaseServer) will update the user's account to account for the requiredstorage space that the video requires. The necessary logging, creationof an identification tag, and storing of the video and the associatedidentifier or identifiers is also performed automatically, asschematically depicted by box 655.

The user can optionally add additional identification and controlinformation about the user, and about how and under what conditions thevideo is to be made available for distribution, as schematicallyindicated by box 660. The process by which some of this information iscollected is discussed below with regard to FIG. 8. The user isautomatically prompted to provide this information, but has the optionto forego making a decision immediately.

The user is given an opportunity to select an advertisement that will beassociated with the video, as schematically indicated by box 665, and asdiscussed in more detail below.

The transmission of video segment files to viewers is discussed in moredetail below, and is represented in FIG. 6 by the box 670 labeled“Transmit file to viewer” which is outside the region 607 as anindication that the transmission of files to viewers is an action beyondthe material discussed above in conjunction with the Save and Sharebutton 536 of FIG. 5.

FIG. 6B shows a flow diagram 601 of another embodiment of the inventionin which software automates a number of steps in connection withuploading a video segment. Many of the steps already described inconnection with FIG. 6A also occur in the embodiment depicted in FIG.6B, and are numbered in the same manner as in FIG. 6A. In FIG. 6B, thereis first an optional step indicated by the box 604 labeled “Optional:User authentication with server” in which the User is optionallyrequired to provide identification, such as a user name and password,that authenticates the identity of the user to the server or hostcomputer 60. The user then obtains and selects a video segment forprocessing for distribution, as indicated at box 605 that schematicallyencapsulates all of the actions that a user takes as described inrelation to FIGS. 4 and 5 above. When the user activates the Save andShare button 536 the actions described below that are enclosed by thedotted line 608 are automatically carried out under the control of theVideoShare Producer 20 software.

As discussed in relation to FIG. 6A, the VideoShare Producer 20 softwaresubjects the selected video segment to analysis to determine whether theselected video segment is or is not in a file format that is compatiblewith a streaming video format, as indicated at diamond 610. If theselected video segment is not compatible with a streaming video format,it is converted to a compatible format, as depicted by the arrow labeled“NO” that points from the diamond 610 to the box 615, “Convert tocompatible file format.” The conversion process performed by theVideoShare Producer 20 software creates a DirectShow filter graph thatdecompresses the video file into a temporary, uncompressed AVI file.

The video segment file in a format that is compatible with streamingvideo is then temporarily stored in the user's computer 16, for exampleas a file on the hard drive of computer 16. This storing step isperformed if the file was originally in a format compatible withstreaming video by following the arrow marked “YES” that points from thediamond 610 to the box 620, “Temporarily store file.” Alternatively, thestoring step is performed if the file was originally not in a formatcompatible with streaming video by following the arrow that points fromthe box 615 to the box 620.

The stored temporary file representing the selected video is thenanalyzed by the VideoShare Producer 20 software, and optionallycompressed as represented by the box 623 labeled “Optional compressionof file.” The file is then converted to a streaming multimedia formatfile as indicated by the box 635, labeled “Convert file to streamingmultimedia format (“SMF”) file.” Alternatively, a file from the box 620can be uploaded to the host computer 60 without being converted to astreaming format, and the conversion to a streaming video format can beaccomplished at the host computer 60. The process that is performed bythe VideoShare Producer 20 software as denoted by the box 635 involvesreading in the video file, frame by frame, and converting the video intoa streaming multimedia format.

The flow diagram indicates that the process makes a “thumbnail” of thevideo file, as represented schematically by the box 640, labeled “Createand temporarily store JPEG “thumbnail” identifier.”

The next part of the process is the upload operation, in which theVideoShare Producer 20 software contacts the host computer 60, which inone embodiment is the VideoShare Upload/Database Server at theVideoShare hosting facility. This portion of the automated process isdenoted by the box 645 labeled “Transfer (“upload”) temporarily storedSMF file and JPEG thumbnail identifier to host computer 60.” Both thecompressed video streaming multimedia file and the thumbnail image areuploaded at substantially the same time.

As schematically depicted by box 650, labeled “Delete temporary file toconserve storage space on user's computer,” the VideoShare Producer 20software removes all of the temporary files that were created in thecourse of the automated processing described above. This featureprovides for the user a convenient, secure, and transparent process,with the benefit that the user's computer storage device(s), for exampleone or more hard drives, do not become cluttered with unnecessary andobsolete files.

Once the upload has been completed, the VideoShare Producer 20 softwareand the host computer 60 (for example, the VideoShare Upload/DatabaseServer) will update the user's account to account for the requiredstorage space that the video requires. The necessary logging, creationof an identification tag, and storing of the video and the associatedidentifier or identifiers is also performed automatically, asschematically depicted by box 655.

The user can optionally add additional identification and controlinformation about the user, and about how and under what conditions thevideo is to be made available for distribution, as schematicallyindicated by box 660. The process by which some of this information iscollected is discussed below with regard to FIG. 8. The user isautomatically prompted to provide this information, but has the optionto forego making a decision immediately.

The user is given an opportunity to select an advertisement that will beassociated with the video, as schematically indicated by box 665, and asdiscussed in more detail below.

The transmission of video segment files to viewers is discussed in moredetail below, and is represented in FIG. 6B by the box 670 labeled“Transmit file to viewer” which is outside the region 608 as anindication that the transmission of files to viewers is an action beyondthe material discussed above in conjunction with the Save and Sharebutton 536 of FIG. 5.

FIG. 6C shows a flow diagram 602 of an embodiment of the invention inwhich software automates a number of steps in the formatting of a videosegment. In particular, in this embodiment, the video segment that theuser wishes to provide in streaming video format is compressed into aplurality of formats, each of which is encoded for optimal display at adifferent transmission bitrate. There can be a benefit to recording thesame video segment in multiple formats. For example, a casual viewer mayhave only a slow speed modem, such as a 28.8 kilobaud (kB) modem. Forsuch a viewer, the slow transmission speed can make the size of a file acritical feature. Such a user can view a video in real time if it isformatted for a 28.8 kB modem, but not if it is formatted forappreciably higher transmission speeds. Another user, for example, onewho has a TI connection that can handle transmission speeds up toapproximately 1.5 megabaud, could successfully receive a version of thesame video segment that is formatted for higher transmission speeds,with the possibility of having a better quality image and higherresolution, perhaps with better audio as well. The TI user could see theversion of the video segment intended for 28.8 kB transmission if he orshe wanted to, but might prefer to see a video segment that appeared tobe more professional in quality. By using a system that canautomatically discriminate the transmission speed capabilities of thehardware that the user employs, the embodiment allows each user to viewa version of the video segment that is optimally configured for theuser's hardware.

In particular, the steps of the method enclosed within the dottedrectangle 609 are automated by software that embodies the presentinvention. As described above, the user obtains and selects a videosegment for processing for distribution, as indicated at box 605 thatschematically encapsulates all of the actions that a user takes asdescribed in relation to FIGS. 4 and 5 above. When the user activatesthe Save and Share button 536 the actions described below that areenclosed by the dotted line 609 are automatically carried out under thecontrol of the VideoShare Producer 20 software.

As discussed in relation to FIG. 6A, the VideoShare Producer 20 softwaresubjects the selected video segment to analysis to determine whether theselected video segment is or is not in a file format that is compatiblewith a streaming video format, as indicated at diamond 610. If theselected video segment is not compatible with a streaming video format,it is converted to a compatible format, as depicted by the arrow labeled“NO” that points from the diamond 610 to the box 615, “Convert tocompatible file format.” The conversion process performed by theVideoShare Producer 20 software creates a DirectShow filter graph thatdecompresses the video file into a temporary, uncompressed AVI file.

The video segment file in a format that is compatible with streamingvideo is then temporarily stored in the user's computer 16, for exampleas a file on the hard drive of computer 16. This storing step isperformed if the file was originally in a format compatible withstreaming video by following the arrow marked “YES” that points from thediamond 610 to the box 620, “Temporarily store file.” Alternatively, thestoring step is performed if the file was originally not in a formatcompatible with streaming video by following the arrow that points fromthe box 615 to the box 620.

The temporarily stored file is then compressed in multiple streamingmultimedia formats, as denoted by the box 633. In the present example,three files will be used to describe the process, but it should beunderstood that more or fewer than three formats may be created atsubstantially the same time. The resulting multiple files are denoted bythe three boxes 634, 636 and 638 labeled “Bandwidth Target A,”“Bandwidth Target B,” and “Bandwidth Target C,” respectively. Each fileis optimally encoded for play as a streaming video segment at aparticular transmission rate and bandwidth, such as 28.8 kB, 56 kB, 100kB, 300 kB, or other transmission rates.

As described above, the method includes a step of creating andtemporarily storing a “thumbnail” identifier, as denoted by the box 640.Rather than transmitting one video segment in one SMF with onethumbnail, the embodiment of FIG. 6C transmits all the files 634. 636and 638 in association with the single thumbnail and any otheridentifiers that are selected as appropriate. For example, each SMF filecan be identified as to its bandwidth. In an alternative embodiment, thesystem transmits only a single SMF file with its associated identifiers,including the JPEG “thumbnail,” and the multiple bandwidth variants ofthe SMF file are generated at the host computer 60. This embodiment maybe advantageous when the user has only a slow speed modem, and would beseverely time constrained by having to upload multiple files.

The remaining steps of this embodiment, as denoted by the boxes 650,655, 660, 665 and 670, correspond substantially to the steps in FIG. 6Arepresented by the boxes identified with the corresponding numerals. Itshould be noted that the precise order of some of the steps, forexample, the step denoted by the box 655 and the step denoted by the box650, can be interchanged without a different outcome of the overallprocess. Other such interchanges in sequence are possible as well, againwithout a different outcome of the overall process.

FIG. 6D depicts an embodiment of the database 64 of the host computer 60on which are recorded the three exemplary bandwidth target files 634,636 and 638 for FIG. 6C. These files are available for delivery over acomputer network to a viewer. The files 634, 636 and 638 represent threeversions of the same video segment in streaming multimedia format, eachsuitable for optimal viewing by a user having hardware operating at thetransmission rate corresponding to the format of one of the files.

As shown in FIG. 6E, the user (or the viewer) transmits to the hostcomputer 60 a request for a particular video segment, denoted by thearrow from the box labeled “USER” to the box 960 labeled “ConnectionSpeed Detector.” Host computer 60 can include hardware that can sensethe transmission speed of a user computer 16, or of a computer used by aperson desiring to view a video segment. Alternatively, the hostcomputer 60 can inquire of the computer on the network that is connectedto the user computer 16 or the computer of a viewer about the speed ofconnection that is being maintained. When the information is availableto the host computer 60, the host computer 60 can determine which fileof the files exemplified by 634, 636 and 638 is most appropriate toserve to the user or viewer, as denoted by the box 692 labeled “Logic toselect and serve SMF file to User.” The host computer 60 then transmitsthe appropriate file to the user, as denoted by the arrow from the box692 to the box 694 labeled “User receives and views SMF file.”Alternatively, the viewer can request the transmission of a file encodedat a specific bitrate.

When the user begins the process described in relation to FIG. 6A, inone embodiment, the “Progress Dialog” screen 700 depicted in FIG. 7 ispresented, reflecting the status of the process in real time. The“Progress Dialog” screen 700 notifies the user about the total number ofbytes that have to be uploaded to perform the transfer and it alsoinforms the user of the number of bytes and the percentage of the filethat have been uploaded in real time.

FIG. 8 depicts a dialog panel 800 presenting several methods with whichthe user can distribute the uploaded streaming video segment and itsassociated identifiers to third party recipients. The dialog panel 800prompts the user as to the possible selections that the user can elect.

In one embodiment, there are five possible methods to distribute thevideo file:

The user can elect to use an email browser to send an email to one ormore people that includes a URL reference to the video located on theVideoShare web site. This also includes the further possibility to sendthe video player directly embedded inside the email message. This optionis elected by activating the button 810, labeled “Share as a videomail.”

The user can elect to share the video as a greeting card, bringing theuser to the Video Greeting Card web page at the VideoShare web site. Inthis case, the user will also select features relating to the greetingcard. The user can elect this option by activating the button 820,labeled “Share as a video greeting card.”

The user can elect to send an ICQ URL message, automatically interfacingwith ICQ's Instant Messenger software. The user can elect this option byactivating the button 830 labeled “Share through ICQ Messaging.”

The user can elect to go to the user's VideoCenter page on theVideoShare web site, from which location the video can also be shared orsent to others. The user can elect this option by activating the button840, labeled “Take me to my VideoCenter.”

The user can elect to place HTML code in the user's clipboard thatreferences the video. This HTML code can be “pasted” into any Web pagethat supports HTML inserts. The user can elect this option by activatingthe button 850, labeled “Put HTML code in my clipboard.” In oneembodiment, this option allows a user to paste a video into a Web page,for example to demonstrate the use of a product for sale, or to presenta personal greeting to visitors to the Web page.

By electing to activate the button 860, labeled “Nothing, I'll sharethis video later,” the user can postpone making an election regardingthe sharing of the uploaded video segment.

The above options are discussed in more detail below.

Sharing the video via email will bring up the user's default emailbrowser, such as Outlook, Netscape Communicator, Eudora, etc. This isaccomplished through the use of MAPI technologies that allow fordocument exchange on Win9x/2000 systems. A user who employs NetscapeCommunicator or Microsoft Outlook will be able to directly embed theWindows Media Player inside the email text body, allowing the recipientto directly play the video from his or her email browser. In oneembodiment, this “embedded video mail” feature causes a window such asthat depicted in FIG. 9 to appear, for example when the user is usingMicrosoft Outlook for e-mail service.

As shown in FIG. 9, at the top of the email message, the VideoShareProducer 20 software will display the Windows Media Player 910 with thesender's recorded video preloaded. The recipient of this embedded videomail only needs to activate the play button 920 on the Windows MediaPlayer to see the video segment, rather than going to a URL hyper-link.The embodiment includes the conventional dialog boxes for entry of anemail address for a recipient (box 902), a “carbon copy” (“cc”) address(box 904), and a subject (box 906). In the embodiment shown,instructions are presented below the Windows Media Player 910 for theconvenience of the recipient.

The two options “Share as a Video Greeting Card” and “Take me to myVideoCenter” causes the VideoShare Producer 20 software to spawn off aWeb browser and automatically—41—jump to one of these two pages on theVideoShare Web site. The user can define the features of a videogreeting card, and can direct the card as an e-mail to a viewer.Alternatively, the user can define a recipient list for the videosegment as a single item to be viewed, and can send the video to thelocations on the list.

The “Share Through ICQ Messaging” button 830 can bring up ICQ's InstantMessenger software, if it is installed on the user's machine, and caninitiate a “URL Message” construction automatically. The VideoShareProducer 20 software can automatically fill out the URL that referencesthe playback of the user's video. The recipient of this URL Message canview the video by clicking a mouse on the URL to be taken directly tothe VideoShare web site, where the video can be displayed.

The “Put HTML code in my clipboard” button 850 can place a section ofHTML code that, when the user pastes this code in a web page, causes theWindows Media Player to automatically instantiate a video playback ofthe message. This feature enables the user to place this video in anysystem that supports HTML code, such as personal web pages, onlineauction sites, online job boards, and the like.

Working Offline and the “Sharing Queue”

The VideoShare Producer 20 software also allows the user to “workoffline.” Offline means that the VideoShare Producer 20 software willnot communicate with the host computer 60 (for example, the VideoShareUpload/Database Server) until the user explicitly uploads one-or-morevideos via a “Sharing Queue”. This Sharing Queue appears to the user asone of the main tabs in the VideoShare Producer 20 software and acts asa temporary queue for recorded/imported videos. “Work offline” allowsthe user to not make an Internet connection until he or she is ready toupload more than one video at a time. This mode of operation is usefulfor modem users who incur considerable expense for extended dial-intimes or people who are using laptops and are not always near anInternet connection outlet.

FIG. 10 shows a screen 1000 used to control the status of a video queue.When the user, after recording or importing a video, clicks the “Saveand Share” button 536 of FIG. 5 while in “offline mode”, the VideoShareProducer 20 software performs the first three steps of the “Save andShare Process,” namely, the video file format conversion represented bybox 615 of FIG. 6A, the compression of the video segment to a streamingmultimedia format at a user-specified bitrate represented by the box 635of FIG. 6A, and the creation of a “Thumbnail” JPEG snapshot of the videofile represented by the box 640 of FIG. 6A. The resulting output filesare stored in a local database for later use in the “Sharing Queue,”which is an operation similar to the temporary storage of files depictedin FIG. 6A. In the middle of FIG. 10 is a dialog box 1010 that displaysa list of video segments that are ready to be uploaded to the VideoShareWeb site. The small “Preview” window 1020 in the upper left corner ofFIG. 10 is a DirectShow playback graph that allows the user to reviewthe stored video segment that is highlighted in the dialog box 1010. Theuser can use this window to preview the video segment file by activatingthe “Preview” button 1030, to delete the video segment file byactivating the “Delete” button 1040, and to upload and publish the videoby activating the “Save and Share Now” button 1050.

The “Save and Share Now” button 1050 performs the uploading process oneach of the queued videos, creating a TCP/IP connection to theVideoShare Upload/Database Server, transferring the file to theVideoShare web site, and updating the user's VideoShare account, in amanner substantially similar to the method employed by the Save andShare button 536 of FIG. 5 to accomplish the same activities.

Audio/Video Setting Process

FIG. 11 shows a screen 1100 used to control the operational settings ofequipment connected to the user's computer. Another feature of theVideoShare Producer 20 software the ability of the user to change theconfiguration of the audio, video, and compression devices through theuse of the “Settings” tab 1110. Upon activation of the Settings tab1110, the screen 1100 is active.

The user can select the “bitrate” at which the streaming multimediafiles will be compressed by using the set of radio buttons 1120 at theupper left corner of the screen 1100. The default setting is “56 kModem” which corresponds to a user using a 56 k modem. This defaultsetting is denoted by the 56 k Modem radio button 1120 appearing with adot, while the remaining radio buttons for bitrate 1120 are blank. Inone embodiment, the pie graph 1130 that appears at the upper rightcorner of screen 1100 indicates the percentage of the user's VideoSharestorage space that is full. In the embodiment shown, the user has filledapproximately 3.13% of the available storage capacity available forstoring files. Two pull-down menus, “Camera source device” box 1140 and“Audio source device” box 1150, list all of the available video andaudio capture sources that the user has available on his or herWin9x/2000 machine. The user can select a source of audio or video byactivating the appropriate pull-down menu box and locating a device ofhis or her choosing. To the right of these pull-down menus, there aretwo buttons, “Video Settings . . . ” 1160 and “Audio Settings . . . ”1170 that allow the user to change the properties of the currentlyselected audio and video device. Such properties include image size,capture compression, lighting conditions, and the like. The screen 1100also provides to the user the current working directory information in athe box 1180 and the current queue directory information in the box1190, which the user can optionally change by entering new values ineither or both boxes 1 180 and 1190.

Interactive Advertisement Feature

Advertisers want to know how effective their advertisements are, andwhat response they are receiving from viewers. In normal commercialadvertising in print media and in broadcast media, it is both difficultand expensive to try to gather such information. The interactiveadvertisement feature of the invention allows advertisers 30 toaccurately track not only whether the ad video was watched by the viewer92, but to do so in real time. In addition, there is no need to haveindividuals contact viewers 92 because systems and methods according tothe invention perform the function in an automated manner.

Systems and methods of the invention operate by pausing the ad and/orthe video until a specific action is taken by the viewer 92. The actionthat the viewer 92 can be required to take can include clicking abutton, activating a mouse or pointing device, using the mouse orpointing device to activate a link, answering a question, or striking akey (or a similar action) to take place within a time frame.

Once the specific action has been taken, the video or the advertisementwill resume playing.

If the action is not taken, the ad can either time out and not play forthat viewer 92, remain paused until the viewer 92 either takes theaction or closes the ad, or continue playing to its end. By observingthe responses of viewers, it is possible to obtain statistics about howmany of the ad videos were watched in their entirety and how many timedout or were never fully viewed.

The benefits to advertisers 30 can include obtaining information aboutwhich of their advertisements were actually watched by the viewer 92.Advertisers can use such information to determine who is watching theiradvertisements, and how long those people watch a given advertisement.

While the invention has been particularly shown and described withreference to particular embodiments, it should be understood by thoseskilled in the art that various changes in form and detail may be madewithout departing from the spirit and scope of the invention as definedby the appended claims.

What is claimed is:
 1. A method of associating an advertisement with astreaming video, comprising: executing, by a first computer on anetwork: receiving an advertisement; storing the advertisement to astorage device; associating the advertisement with a streaming videothat is embedded in a web page, wherein the streaming video file has anassociated identification tag identifying the streaming video file andthe identification tag is embedded in a webpage; and transmitting, via aweb page, the advertisement to a second computer on the network.
 2. Asystem for associating an advertisement with a streaming video,comprising: a first computer for receiving an advertisement; a secondcomputer for storing the advertisement to a storage device; a thirdcomputer for associating the advertisement with a streaming video thatis embedded in a web page, wherein the streaming video file has anassociated identification tag identifying the streaming video file andthe identification tag is embedded in a webpage; and a fourth computerfor transmitting, via a web page, the advertisement to a fifth computer.